Carga de Paquetes de datos
library(dplyr)
library(ggplot2)
library(plotly)
library(sf)
library(DT)
library(readxl)
library(readr)
library(lubridate)
Lectura de datos
estadisticas_policiales <-
readxl::read_excel("C:/Users/REBECA/Desktop/Datos policiales 2021/estadisticaspoliciales2021.xls")
Tabla
estadisticas_policiales %>%
dplyr::select(Delito, Fecha, Victima, Edad, Genero, Provincia, Canton) %>%
datatable(colnames = c(
"Delito",
"Fecha",
"Víctima",
"Edad",
"Género",
"Provincia",
"Cantón"
),
options = list(
language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json')
))
## Warning in instance$preRenderHook(instance): It seems your data is too big
## for client-side DataTables. You may consider server-side processing: https://
## rstudio.github.io/DT/server.html
Grafico 1: Cantidad de delitos por tipo de delito (barras
simples)
# Cantidad de delitos por tipo de delito
ggplot2_estadisticas_policiales <-
estadisticas_policiales %>%
count(Delito) %>%
ggplot(aes(x = reorder(Delito, n), y = n)) +
geom_bar(stat = "identity") +
coord_flip() +
ggtitle("Cantidad de delitos por tipo de delito") +
xlab("Delito") +
ylab("Cantidad de delitos") +
theme_gray()
ggplotly(ggplot2_estadisticas_policiales) %>% config(locale = 'es')
Grafico 2: Cantidad de delitos por mes (barras simples)
datos <-
estadisticas_policiales %>%
mutate(meses = lubridate::month(Fecha))
mes <-c("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Setiembre", "Octubre", "Noviembre")
grafico_delitos_meses <-
datos %>%
count(meses) %>%
ggplot(level = level_order, (aes(x = reorder (mes, meses), y = n))) +
geom_bar(stat = "identity") +
ggtitle("Cantidad de delitos por mes del año 2021") +
xlab("Mes") +
ylab("Cantidad de delitos") +
coord_flip() +
theme_gray()
ggplotly(grafico_delitos_meses)
Grafico 3 : Cantidad de delitos por genero (barras apliladas)
delitos_genero <-
estadisticas_policiales %>%
ggplot(aes(x = Delito, fill = Genero)) +
geom_bar(position = "fill") +
ggtitle("Cantidad de delitos por género") +
xlab("Delito") +
ylab("Cantidad de delitos") +
labs(fill = "Género") +
coord_flip() +
theme_get()
ggplotly(delitos_genero) %>% config(locale = 'es')
Grafico 4: Cantidad de delitos por Cantones (barras simples)
delitos_cantones <-
estadisticas_policiales %>%
count(Canton) %>%
filter(Canton == "SAN JOSE" |
Canton == "ALAJUELA" |
Canton == "CARTAGO" | Canton == "HEREDIA") %>%
ggplot(aes(x = reorder(Canton, n), y = n)) +
geom_bar(stat = "identity") +
ggtitle("Cantidad de delitos por cantones ") +
xlab("Cantones") +
ylab("Cantidad de delitos") +
coord_flip() +
theme_grey()
ggplotly(delitos_cantones)